#include <boost/asio.hpp>
#include <iostream>

//////////////////////////////
///TCP异步步客户端
//////////////////////////////

void on_connect(const boost::system::error_code& ec) {
    if (!ec) {
        std::cout << "Connected to server!" << std::endl;
    } else {
        std::cerr << "Failed to connect: " << ec.message() << std::endl;
    }
}

int main() {
    boost::asio::io_context io_context;
    boost::asio::ip::tcp::socket socket(io_context);

    // 定义远程端点
    boost::asio::ip::tcp::endpoint endpoint(
        boost::asio::ip::address::from_string("127.0.0.1"), 8080);

    // 异步连接
    socket.async_connect(endpoint, on_connect);

    // 运行事件循环
    io_context.run();

    return 0;
}



// //////////////////////////////
// ///TCP同步客户端
// //////////////////////////////

// int main() {
//     try {
//         // 创建 io_context 和 socket
//         boost::asio::io_context io_context;
//         boost::asio::ip::tcp::socket socket(io_context);

//         // 定义远程端点（IP 和端口）
//         boost::asio::ip::tcp::endpoint endpoint(
//             boost::asio::ip::address::from_string("127.0.0.1"), 8080);

//         // 连接到服务器
//         socket.connect(endpoint);

//         // 发送数据到服务器
//         std::string message = "Hello, Server!";
//         boost::asio::write(socket, boost::asio::buffer(message));

//         // 接收服务器响应
//         char buffer[128];
//         size_t len = socket.read_some(boost::asio::buffer(buffer));
//         std::cout << "Server response: " << std::string(buffer, len) << std::endl;

//         // 关闭连接
//         socket.close();
//     } catch (const std::exception& e) {
//         std::cerr << "Error: " << e.what() << std::endl;
//     }

//     return 0;
// }
